package com.CNMedical.system.service;

import java.util.List;

import com.CNMedical.system.domain.entity.AppletUser;

/**
 * 用户信息Service接口
 * 
 * @author tang
 * @date 2023-04-03
 */
public interface IAppletUserService 
{

    boolean editAppletUser(AppletUser appletUser);

    /**
     * 校验用户名称是否唯一
     *
     * @param user 用户信息
     * @return 结果
     */
    public boolean checkUserNameUnique(AppletUser user);

    /**
     * 校验手机号码是否唯一
     *
     * @param user 用户信息
     * @return 结果
     */
    public boolean checkPhoneUnique(AppletUser user);

    /**
     * 校验email是否唯一
     *
     * @param user 用户信息
     * @return 结果
     */
    public boolean checkEmailUnique(AppletUser user);

    List<Long> getUserIdByUserName(String userName);
    /**
     * 查询用户信息
     * 
     * @param id 用户信息主键
     * @return 用户信息
     */
    public AppletUser selectAppletUserById(Long id);

    /**
     * 查询用户信息列表
     * 
     * @param appletUser 用户信息
     * @return 用户信息集合
     */
    public List<AppletUser> selectAppletUserList(AppletUser appletUser);

    /**
     * 新增用户信息
     * 
     * @param appletUser 用户信息
     * @return 结果
     */
    public int insertAppletUser(AppletUser appletUser);

    /**
     * 修改用户信息
     * 
     * @param appletUser 用户信息
     * @return 结果
     */
    public int updateAppletUser(AppletUser appletUser);

    /**
     * 批量删除用户信息
     * 
     * @param ids 需要删除的用户信息主键集合
     * @return 结果
     */
    public int deleteAppletUserByIds(Long[] ids);

    /**
     * 删除用户信息信息
     * 
     * @param id 用户信息主键
     * @return 结果
     */
    public int deleteAppletUserById(Long id);

    /**
     * 微信登录注册
     * @param appletUser
     * @return
     */
    AppletUser wxLogin(AppletUser appletUser);
}
